//
//  profile.hpp   --- Handles statistical functions
//
#ifndef PROFILE_HPP
#define PROFILE_HPP

#include "game.hpp"

//
// User Profile class is used to hold information which is
// customized to each user's installation.
//
class UserProfile
{
public:
    int     releaseLevel;                   // incrementing release level
    int     bgTextColor;
    int     fgTextColor;
    BOOL    fastThinking;                   // TRUE for fastest thinking
    int     biosEquipment;
    BOOL    agreeTerms;                     // TRUE if they agree to terms
    int     endMM, endDD, endYY;            // last month day year
    long    checkCode;                      // must match prior info
    BOOL    colorEnabled;                   // TRUE if color is enabled
    BOOL    ansiDriver;                     // TRUE if ANSI driver detected
    BOOL    spare1;         // spare profile flags
    BOOL    spare2;
    int     testLevel;                      // test drive functionality level
    int     testRuns;                       // numbers of test runs so far
    char    gameName[ GAME_CONTROL_MAX_FILENAME + 1 ]; // name of game control file
    
    UserProfile();
    ~UserProfile() { }
    BOOL    readProfile();
    BOOL    writeProfile();
    long    profileCheckCode();
};

#endif
